#pragma once

#include <string>
#include <map>
#include <memory>
#include "CLogDatabase.h"
class CLogDatabaseMgr
{
public:
	CLogDatabaseMgr() = default;
	~CLogDatabaseMgr();

	void AddLogDatabase(const std::string& dbName, CLogDatabasePtr logDatabase);
	CLogDatabasePtr GetLogDatabase(const std::string& dbName) const;
	bool HasLogDatabase(const std::string& dbName) const;

	void RemoveLogDatabase(const std::string& dbName);

	int InitAllDatabases();
private:
	std::map<std::string, CLogDatabasePtr> m_logDatabaseMap; // Map of log databases by name
};

